﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Runtime.Serialization;
using System.Data;

namespace CMD.BAL.SOL
{
    [DataContractAttribute]
     public class SolicitudDocInfo
    {

        [DataMemberAttribute(EmitDefaultValue = false)]
        public string idSolicitudDocInfo;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string fechaCreacion;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string fechaModificacion;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string fechaEnvio;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string creador;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string wUserCreador;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string nombreEquipo;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string cmdDktVersion;
        [DataMemberAttribute(EmitDefaultValue = false)]
        public string userUltimoMod;

        public static List<SolicitudDocInfo> GetDataDocInfo( string idSolicitud)
        {
            try
            {
                DataTable dt = CMD_WEB.DAL.SrvDB.ExecuteQuery("exec SP_CMD_GET_SOL_DOCINFOAD'" + idSolicitud + "'");
                if (dt.Rows.Count == 0)
                {
                    return null;
                }
                else
                {
                    List<SolicitudDocInfo> list = dt.AsEnumerable().Select(
                    row => new SolicitudDocInfo
                    {
                        //idSolicitudDocInfo = String.IsNullOrEmpty(row.Field<string>("DSC_CLO"))
                        //? ""
                        //: row.Field<string>("DSC_CLO"),
                        fechaCreacion = String.IsNullOrEmpty(row.Field<DateTime>("FECHA_CREACION").ToString())
                        ? ""
                        : row.Field<DateTime>("FECHA_CREACION").ToString(),
                        fechaModificacion = String.IsNullOrEmpty(row.Field<DateTime>("FECHA_ULTIMA_MODIFICACION").ToString())
                        ? ""
                        : row.Field<DateTime>("FECHA_ULTIMA_MODIFICACION").ToString(),
                        fechaEnvio = String.IsNullOrEmpty(row.Field<DateTime>("FECHA_ENVIO").ToString())
                        ? ""
                        : row.Field<DateTime>("FECHA_ENVIO").ToString(),
                        creador = String.IsNullOrEmpty(row.Field<string>("WUSER_CREADOR_MAIL"))
                        ? ""
                        : row.Field<string>("WUSER_CREADOR_MAIL"),
                        wUserCreador = String.IsNullOrEmpty(row.Field<string>("WUSER_CREADOR"))
                        ? ""
                        : row.Field<string>("WUSER_CREADOR"),
                        nombreEquipo = String.IsNullOrEmpty(row.Field<string>("PCNAME"))
                        ? ""
                        : row.Field<string>("PCNAME"),
                        cmdDktVersion = String.IsNullOrEmpty(row.Field<Int32>("CMD_DKT_VERSION").ToString())
                        ? ""
                        : row.Field<Int32>("CMD_DKT_VERSION").ToString(),
                        userUltimoMod = String.IsNullOrEmpty(row.Field<string>("USER_ULTIMO_MOD"))
                        ? ""
                        : row.Field<string>("USER_ULTIMO_MOD"),

                    }
                    ).ToList();
                    return list;
                }
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        public SolicitudDocInfo()
        {
            //idSolicitudDocInfo = "";
            fechaCreacion = "";
            fechaModificacion = "";
            fechaEnvio = "";
            creador = "";
            wUserCreador = "";
            nombreEquipo = "";
            cmdDktVersion = "";
            userUltimoMod = "";
           
        }
        public SolicitudDocInfo(/*string idSolicitudDocInfo*/ string fechaCreacion, string fechaModificacion, string fechaEnvio, string creador, string wUserCreador, string nombreEquipo, string cmdDktVersion, string userUltimoMod)
        {
            //this.idSolicitudDocInfo=idSolicitudDocInfo;
            this.fechaCreacion=fechaCreacion;
            this.fechaModificacion=fechaModificacion;
            this.fechaEnvio=fechaEnvio;
            this.creador=creador;
            this.wUserCreador=wUserCreador;
            this.nombreEquipo=nombreEquipo;
            this.cmdDktVersion=cmdDktVersion;
            this.userUltimoMod = userUltimoMod;
        }
    }
}
